之前我在聊到關於「技術工作者」的商業思維,其中有一點就是要小心「工程師的技術浪漫」在看不見的地方發生。
這些 hacker 其實大部份都是很有想法、很有技術能力、很熱愛學習新東西的一群人,但有時會忍不住重視嘗試新技術 重於 剛好優雅地 解決實際問題。
例如,在前後端中引入新的框架或是函式庫,沒有經過評估、討論,就隨意嚐鮮,通常最後造成的都是團隊維護跟學習成本的災難。
而這些灑脫的引入者呢?通常不會繼續留下來幫忙,他們要嘛去別的專案引入新的東西了,要嘛已經離開公司到別的公司繼續去引入新的東西了。
我再強調一下,這樣的人是軟體公司很需要的人,要怎麼讓他們能發揮最大價值,又能減少不經意的負面影響或副作用,這是需要用心引導跟組織的。
書裡面這個例子,花費在研發防錯機制,跟偵測錯誤可能發生的通知機制,成本落差可能是 400 萬美元,對客戶與公司說,這400萬美元根本無感,但對工程師來說前者有趣稀奇的多。
這種花公司的錢,養自己的功夫,最後還可能有維護成本跟無法交付的風險,是很危險的。
有著工程師浪漫毛病的優秀工程師,往往會在團隊中說:「工程師就是要學習,不要害怕引入新技術,不會就學,這又不難,如果不想學,要考慮一下是不是要轉行了。」
我想說的是,工程師的技術浪漫要追求的境界應該是:讓自己具備能力進行技術提案、評估,商業價值的全面考量(我們要引入新東西,就要扛時程、資源、團隊學習、維護成本的壓力,他們不會,是我們的責任,不是他們的責任)。
而且,這不是做不到,而是願不願意去努力發展的能力面向而已。能做到這種程度的,就是 enterprise solution 等級的工程師,做不到這程度,只想自己嚐鮮自己爽的,就只是個 geek, 好一點是 hacker。公司要小心安置那些花公司錢不心疼,只把價值往自己身上堆,而不是以交付商業價值為優先的「技術浪漫工程師」。
我在過去職涯中,大部分時間都在擔任引入變革的角色,最終能引入成功其中最重要的一個因子,就是責任我全扛了(嚴格來說,是我的主管跟我一起扛了),團隊是在安全環境下,有我的協助一起學習,一起變強。
原圖來源:
—— 溫伯格,《領導者,該想什麼》